package com.mzj.saas.mservice.property.vo;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.mzj.saas.commons.DateUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 账单明细
 */
@ApiModel("账单明细")
public class BillListVo {

    @ApiModelProperty("账单id")
    private Long id;//账单id

    @ApiModelProperty("业务类型：1水费 2电费 3物业费 4宽带费 5电视费 6煤气费 7暖气费 8租金 9押金 10退租 ")
    private Integer chargeType;//1水费 2电费 3物业费 4宽带费 5电视费 6煤气费 7暖气费 8租金 9押金 10退租

    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("生成时间")
    private Date createTime;//生成时间

    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("应缴费时间")
    private Date paymentTime;//缴费时间

    @ApiModelProperty("缴费状态：0未缴费 1已缴费")
    private Integer paymentStatus;//缴费状态：0未缴费 1已缴费

    @ApiModelProperty("账单费用 单位分")
    private Integer cost;//费用 单位分

    @ApiModelProperty("剩余费用")
    private String surplusCost;//费用 单位分

    @ApiModelProperty("费用 单位元")
    private String expense;//费用 单位元

    @JsonFormat(pattern=DateUtils.FORMAT_DATE_8,timezone = "GMT+8")
    @ApiModelProperty("账单开始时间")
    private Date startTime;

    @JsonFormat(pattern=DateUtils.FORMAT_DATE_8,timezone = "GMT+8")
    @ApiModelProperty("账单结束时间")
    private Date endTime;

    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("缴费截止日")
    private Date shouldPayTime;

    @ApiModelProperty("调整金额")
    private String adjustCost;
    @ApiModelProperty("调整后金额")
    private String adjustAfterCost ;
    @ApiModelProperty(" 调整账单状态 ： 0未完成 1已完成")
    private Integer adjustAfterStatus;
    @ApiModelProperty("调整类型： 0补缴 1退款")
    private Integer adjustType;
    @ApiModelProperty("经办人Id")
    private String adjustOperatorId;
    @ApiModelProperty(" 经办人")
    private String adjustOperatorName;
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("调整时间")
    private Date adjustCompletionTime;

    @ApiModelProperty("机构")
    private Long orgId;
    @ApiModelProperty(" 机构名")
    private String orgName;

    public Date getShouldPayTime() {
        return shouldPayTime;
    }

    public void setShouldPayTime(Date shouldPayTime) {
        this.shouldPayTime = shouldPayTime;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public String getAdjustCost() {
        return adjustCost;
    }

    public void setAdjustCost(String adjustCost) {
        this.adjustCost = adjustCost;
    }

    public String getAdjustAfterCost() {
        return adjustAfterCost;
    }

    public void setAdjustAfterCost(String adjustAfterCost) {
        this.adjustAfterCost = adjustAfterCost;
    }

    public Integer getAdjustAfterStatus() {
        return adjustAfterStatus;
    }

    public void setAdjustAfterStatus(Integer adjustAfterStatus) {
        this.adjustAfterStatus = adjustAfterStatus;
    }

    public Integer getAdjustType() {
        return adjustType;
    }

    public void setAdjustType(Integer adjustType) {
        this.adjustType = adjustType;
    }

    public String getAdjustOperatorId() {
        return adjustOperatorId;
    }

    public void setAdjustOperatorId(String adjustOperatorId) {
        this.adjustOperatorId = adjustOperatorId;
    }

    public String getAdjustOperatorName() {
        return adjustOperatorName;
    }

    public void setAdjustOperatorName(String adjustOperatorName) {
        this.adjustOperatorName = adjustOperatorName;
    }

    public Date getAdjustCompletionTime() {
        return adjustCompletionTime;
    }

    public void setAdjustCompletionTime(Date adjustCompletionTime) {
        this.adjustCompletionTime = adjustCompletionTime;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getSurplusCost() {
        return surplusCost;
    }

    public void setSurplusCost(String surplusCost) {
        this.surplusCost = surplusCost;
    }

    public Integer getCost() {
        return cost;
    }

    public void setCost(Integer cost) {
        this.cost = cost;
    }

    public String getExpense() {
        return expense;
    }

    public void setExpense(String expense) {
        this.expense = expense;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getChargeType() {
        return chargeType;
    }

    public void setChargeType(Integer chargeType) {
        this.chargeType = chargeType;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(Date paymentTime) {
        this.paymentTime = paymentTime;
    }

    public Integer getPaymentStatus() {
        return paymentStatus;
    }

    public void setPaymentStatus(Integer paymentStatus) {
        this.paymentStatus = paymentStatus;
    }
}
